package com.quanyue.music.order.service;

import com.quanyue.music.domain.constant.PayResult;
import com.quanyue.music.domain.constant.RefundStatus;
import com.quanyue.music.domain.entity.InvitationCode;
import com.quanyue.music.domain.entity.Order;
import com.quanyue.music.domain.entity.User;
import com.quanyue.music.order.type.OrderCreateRequest;
import com.quanyue.music.order.type.OrderResult;

import java.util.List;

public interface OrderService {
    void afterPayComplete(String orderNo, String payId, PayResult result);

    void afterRefundComplete(String orderNo, RefundStatus refundStatus);

    List <InvitationCode> createCode(Integer month, Integer number, String isIp, String remake);

    List <InvitationCode> codeList();

    void codeDelete(String code);

    OrderResult createOrder(OrderCreateRequest create, User user, String userIp);

    Boolean convert(String code, String userId, String userIp);

    Order findOrderByNo(String orderNo);

    String codeExcel();
}
